The present invention relates to a statistical remultiplexer for transcoding digital video signals.
Commonly, it is necessary to adjust a bit rate of digital video programs that are provided, e.g., to subscriber terminals in a cable television network or the like. For example, a first group of signals may be received at a headend via a satellite transmission.
The headend operator may desire to forward selected programs to the subscribers while adding programs (e.g., commercials or other content) from a local source, such as storage media or a local live feed.
Additionally, it is often necessary to provide the programs within an overall available channel bandwidth.
Accordingly, the statistical remultiplexer (stat remux), or multi-channel transcoder, which handles pre-compressed video bit streams by re-compressing them at a specified bit rate, has been developed.
In such systems, a number of channels of data are processed by processors arranged in parallel. Each processor typically can accommodate multiple channels of data. Although, in some cases, such as for HDTV, which require many computations, portions of data from a single channel may be allocated among multiple processors. Moreover, typically a fixed transcoding bandwidth is allocated to one or more groups of channels (stat remux groups).
However, there is a need for an improved stat remux system that provides a bit rate need parameter for each channel to enable bits to be allocated for transcoding the channels in a manner that optimizes the image quality of the coded data, while still meeting the constraints of a limited throughput.
The system should estimate the bit rate need parameter from statistical information that is derived from the bitstream, such as a frame bit count and average quantizer scale values of the original bitstream. The system should be compatible with MPEG-2 bitstreams. The system should allocate a target output frame bit count for I, P and B frames based on the coding complexity estimated from the statistical information of the original bit stream.
Moreover, the system should accommodate MPEG-2 macroblock processing within a frame, by using a macroblock bit count and quantizer scale values of the original bit stream to guide the rate control process to meet the target frame bit count at the output.
The system should provide periodic adjustments of an allocated transcoding bit rate a number of times in a video frame.
Additionally, the system should derive quantizer scale values for transcoding macroblocks in a frame based on original, pre-transcoding quantizer scale values. The quantizer scale values should be adjusted as transcoding of a frame proceeds to ensure that each macroblock is allocated a minimum number of bits for transcoding.
The present invention provides a system having the above and other advantages.